#include<iostream>
#include<vector>
#include<list>
#include<queue>
#include<algorithm>
using namespace std;

// int n, m, sum;
// int main()
// {
//    cin >> n >> m;
//    int dis = n - m;
//    for (int i = 0; i < dis; i++)
//    {
//        int tmp;
//        cin >> tmp;
//        sum += tmp;
//    }
//    double min = (sum + m) / 1.0 / n;
//    double max = (sum + m * 5) / 1.0 / n;
//    printf("%5lf %5lf", min, max);
//    return 0;
// }

// class Solution {
// public:
//     vector<int> solve(vector<int>& nums) {
//         int aim = nums.size();
//         stack<int> st;
//         vector<int> ret,hash(aim+1);`
//         for (auto e : nums)
//         {
//             st.push(e);
//             //hash表统计当前进栈有哪些值
//             hash[e] = 1;
//             while (hash[aim])
//             {
//                 //目标值在栈里面有了,更新现在还没有进栈的最大值(也就是nums里面的最大值)
//                 aim--;
//             }
//             //比当前目标值大的进ret,此时st剩下的都是小于aim
//             while (!st.empty() && st.top() > aim)
//             {
//                 ret.push_back(st.top());
//                 st.pop();
//             }
//         }
//         return ret;
//     }
// };